﻿#if XBRLFormula
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Qizx.XQuery.Op;

namespace System.Qizx.Api {
    /// <summary>
    /// <para>Support XBRL Formula Expression static context information: </para>
    /// <para>1. Global Variables</para>
    /// <para>2. expression's BaseURI for fn:doc && fn:collection() etc.</para>
    /// </summary>
    public interface IVariableScope {
        /// <summary>
        /// return expression's BaseURI for fn:doc && fn:collection() etc
        /// </summary>
        string BaseURI { get; }

        /// <summary>
        /// lookup a global variable, out of the default eval context.
        /// </summary>
        /// <param name="varName"></param>
        /// <returns></returns>
        GlobalVariable LookupVariable(QName varName);
    }
}
#endif